import { getSetting } from "@/api/setting";
import { titleController } from "@/utils";
export default {
  namespaced: true,
  state: {
    loading: false,
    data: null,
  },
  mutations: {
    setLoading(state, payload) {
      state.loading = payload;
    },
    setData(state, payload) {
      state.data = payload;
    },
  },
  actions: {
    async fetchSetting(ctx) {
      ctx.commit("setLoading", true);
      const resp = await getSetting();
      ctx.commit("setData", resp);
      ctx.commit("setLoading", false);
      if (resp.favicon) {
        // <link rel="shortcut icon " type="images/x-icon" href="./favicon.ico">
        let link = document.querySelector("link[ref='shortcut icon']");
        if (link) {
          return;
        }//如果没有就添加连接
        link = document.createElement("link");
       
        link.rel = "shortcut icon"; // 即网站的图标。浏览器会使用这个图标作为书签、标签页和其他地方的图标。
        link.type = "images/x-icon";//指定图标的 MIME 类型。在这里，image/x-icon 表示这是一个 ICO 格式
        //的图标文件。虽然现代浏览器大多可以自动识别图标格式，指定 MIME 类型仍然是一个好习惯。
        link.href = resp.favicon;//定义了图标文件的路径。./favicon.ico 表示图标文件位于当前目录下。
        document.querySelector("head").appendChild(link);
      }
      if (resp.siteTitle) {
        titleController.setSiteTitle(resp.siteTitle);
        //用于在 HTML 文档的 <head> 部分定义与外部资源的链接关系。在这里，它用于定义网站的 favicon（小图标）。
      }//给图标元素加链接
    },
  },
};
